﻿/////////////////////////////////////////////////////////////////////////////////
///              ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO                   ///
///                        PROYECTO INTEGRADOR IV                             /// 
///                         PROYECTO SICOPS 2011                              /// 
/// ------------------------------------------------------------------------- ///  
///              **********GRUPO DE DESARROLLADORES**********                 ///
///                    ************PEGASO*************                        /// 
///---------------------------------------------------------------------------///
///                                                         RIOBAMBA-ECUADOR  ///
///---------------------------------------------------------------------------///
///                CLASE ADMINISTRACION DE LA TABLA PEDIDO                    ///
/////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
using System.Data.Common;
using System.Drawing;
//Clase de la administracion de la tabla de pedidos
namespace LogisticaDeAcceso.ClasesDeAcceso
{
    public class clsPedido
    {

        private SqlCommand SqlProSeleccionar;
        private SqlConnection SqlProConexion;
        private SqlDataAdapter SqlProAdaptador;
      
        /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Presentar autorizantes
        public void metConfiguracionMostrarAuto(string Conexion)
        {

            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_MostrarAutorizantes.*\r\nFROM         vs_MostrarAutorizantes";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
       
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
            this.SqlProAdaptador.TableMappings.AddRange(new DataTableMapping[] {
            new DataTableMapping("Table", "vs_MostrarAutorizantes", new DataColumnMapping[] {
                        new DataColumnMapping("textAutorizanteP", "textAutorizanteP")})});
            //
        }
        //Presntar Custodios
        public void metConfiguracionMostrarCus(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_MostrarCustodios.*\r\nFROM         vs_MostrarCustodios";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;     
             // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
            this.SqlProAdaptador.TableMappings.AddRange(new DataTableMapping[] {
            new DataTableMapping("Table", "vs_MostrarCustodios", new DataColumnMapping[] {
                        new DataColumnMapping("textCustodioP", "textCustodioP")})});
            // 
        }
        //Presentar Solicitantes
        public void metConfiguracionMostrarSol(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_MostrarSolicitantes.*\r\nFROM         vs_MostrarSolicitantes";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;          
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
            this.SqlProAdaptador.TableMappings.AddRange(new DataTableMapping[] {
            new DataTableMapping("Table", "vs_MostrarSolicitantes", new DataColumnMapping[] {
                        new DataColumnMapping("textSolicitanteP", "textSolicitanteP")})});
             
        }
        /// ///////////////Mostrar todos los ingresos distintos de la tabla pedido para facilidad del usuario
         //Ejecutar Solicitantes       
        public void metActivarMosSol(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarSolicitantes);//Mostrar los solicitantes distintos
        }
        //Ejecutar Autorizantes
        public void metActivarMosAuto(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarAutorizantes);//Mostrar los Autorizantes distintos
        }
        //Ejecutar Custodios
        public void metActivarMosCus(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarCustodios);//Mostrar los Custodios distintos
        }
        /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        /// Ingreso de pedidos
        public void metConfigurarIngreso(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_IngresarPedido";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null),
            new SqlParameter("@Numero", SqlDbType.Int, 4),
            new SqlParameter("@CodDe", SqlDbType.VarChar, 10),
            new SqlParameter("@Cus", SqlDbType.VarChar, 50),
            new SqlParameter("@Sol", SqlDbType.VarChar, 52),
            new SqlParameter("@Auto", SqlDbType.VarChar, 50),
            new SqlParameter("@Fecha", SqlDbType.DateTime, 8),
            new SqlParameter("@mod", SqlDbType.VarChar, 20),
            new SqlParameter("@Estado", SqlDbType.VarChar, 20),
            new SqlParameter("@Obser", SqlDbType.VarChar, 250)});
        
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucion para el ingreso de pedidos
        public void metActivarIngreso(int Num, string CodDep, string Cust, string Soli, string Auto, string Fecha, string Mod, string Est, string Obser)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Numero"].Value = Num;
            SqlProAdaptador.SelectCommand.Parameters["@Cus"].Value = Cust;
            SqlProAdaptador.SelectCommand.Parameters["@Sol"].Value = Soli;
            SqlProAdaptador.SelectCommand.Parameters["@Auto"].Value = Auto;
            SqlProAdaptador.SelectCommand.Parameters["@Fecha"].Value = Fecha;
            SqlProAdaptador.SelectCommand.Parameters["@mod"].Value = Mod;
            SqlProAdaptador.SelectCommand.Parameters["@Estado"].Value = Est;
            SqlProAdaptador.SelectCommand.Parameters["@CodDe"].Value = CodDep;
            SqlProAdaptador.SelectCommand.Parameters["@Obser"].Value = Obser;
            SqlProConexion.Open();//Abrir la coneccion
            try
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecuta el procedmiento almacenado
            }
            catch (Exception M)
            {
                MessageBox.Show(M.Message);
            }
            SqlProConexion.Close();//Es importante cerrar la coneccion para evitar embotellamientos
        }
        /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        /// Configuracion del conteo de filas de los pedidos ingresados
        public void metConfiguracionNumeroP(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_NumeroPedido";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            //Declaracion del parametro de entrada y de salida
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null),
            new SqlParameter("@Numero", SqlDbType.Int, 4, ParameterDirection.InputOutput, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucion del procedimiento que cuenta filas 
        public int metActivarNumeroP()
        {
            int u = 0;
            SqlProAdaptador.SelectCommand.Parameters["@Numero"].Value = u;
            SqlProConexion.Open();//Abrir la coneccion
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecuta el procedmiento almacenado
            SqlProConexion.Close();
            try
            {
                u = (int)(SqlProAdaptador.SelectCommand.Parameters["@Numero"].Value);
            }
            catch (Exception)
            {
                u = 1;
            }
            return u;         
        }
        /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        /// //Modificacion de pedidos
        public void metConfigurarActualizarPE(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_ActulizarPedido";
            this.SqlProSeleccionar.CommandType = System.Data.CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            //Declara cion de parametros de ingreso
            //Caracteristicas de los parametros de ingreso
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@Num", SqlDbType.VarChar, 5),
            new SqlParameter("@Cus", SqlDbType.VarChar, 50),
            new SqlParameter("@Sol", SqlDbType.VarChar, 50),
            new SqlParameter("@Aut", SqlDbType.VarChar, 50),
            new SqlParameter("@Fec", SqlDbType.DateTime, 8),
            new SqlParameter("@Mod", SqlDbType.VarChar, 20),
            new SqlParameter("@Est", SqlDbType.VarChar, 20),
            new SqlParameter("@Obs", SqlDbType.VarChar, 250)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucion
        public void metActivarActualizarPE(string Num,string Cus,string Sol,string Aut,string Fec,string Mod,string Est, string Obs)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Num"].Value = Num;
            SqlProAdaptador.SelectCommand.Parameters["@Cus"].Value = Cus;
            SqlProAdaptador.SelectCommand.Parameters["@Sol"].Value = Sol;
            SqlProAdaptador.SelectCommand.Parameters["@Aut"].Value = Aut;
            SqlProAdaptador.SelectCommand.Parameters["@Fec"].Value = Fec;
            SqlProAdaptador.SelectCommand.Parameters["@Mod"].Value = Mod;
            SqlProAdaptador.SelectCommand.Parameters["@Est"].Value = Est;
            SqlProAdaptador.SelectCommand.Parameters["@Obs"].Value = Obs;
            SqlProConexion.Open();//Abrir la coneccion
            try
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecuta el procedmiento almacenado
            }
            catch (Exception M)
            {
                MessageBox.Show(M.Message);
            }
            SqlProConexion.Close();//Es importante cerrar la coneccion para evitar embotellamientos
        }
        /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        /// Presentar datos de los pedidos
        public void metConfigurarMostrarPedido(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_MostrarPedidos.*\r\nFROM         vs_MostrarPedidos";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        
        }
        //Ejecucion
                public void metActivarMostrarPedido(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarPedidos);
        }
                /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Configuracion y activacion para la actualizacion de departamentos
        public void metConfigurarActualizarPedDepa(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion = new SqlConnection();
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_ActualizarPedidoDepartamento";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null),
            new SqlParameter("@Numero", SqlDbType.VarChar, 8),
            new SqlParameter("@CodigoDeparta", SqlDbType.VarChar, 20)});
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucion
        public void metActivarActualizarPedDepa(string Numero, string CodigoDep)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Numero"].Value = Numero;
            SqlProAdaptador.SelectCommand.Parameters["@CodigoDeparta"].Value = CodigoDep;
            SqlProConexion.Open();//Abrir la coneccion
            try
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecuta el procedmiento almacenado
            }
            catch (Exception M)
            {
                MessageBox.Show(M.Message);
            }
            SqlProConexion.Close();//Es importante cerrar la coneccion para evitar embotellamientos
        }
        /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Configuracion y activcion para la eliminacion de los pedidos
        public void metConfigurarEliminar(string Conexion)
        {
            this.SqlProSeleccionar = new System.Data.SqlClient.SqlCommand();
            this.SqlProConexion = new System.Data.SqlClient.SqlConnection();
            this.SqlProAdaptador = new System.Data.SqlClient.SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_EliminarPedido";
            this.SqlProSeleccionar.CommandType = System.Data.CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new System.Data.SqlClient.SqlParameter[] {
            new System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new System.Data.SqlClient.SqlParameter("@Numero", System.Data.SqlDbType.Int, 4)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucion
        public void metActivarEliminra(int Numero)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Numero"].Value = Numero;
            SqlProConexion.Open();//Abrir la coneccion
            try
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecuta el procedmiento almacenado
            }
            catch (Exception M)
            {
                MessageBox.Show(M.Message);
            }
            SqlProConexion.Close();//Es importante cerrar la coneccion para evitar embotellamientos
           }
    }
}
